Red Hat System Administration II 8.2

Расширение логических томов

Задачи

После завершения этого раздела вы сможете:

  • расширить группу томов с помощью команд pvcreate и vgextend,а затем проверить результаты с помощью команды vgdisplay;

  • уменьшить группу томов с помощью команд pvmove и vgreduce;

  • расширить логический том с помощью команды lvextend;

  • изменить размер файловых систем XFS с помощью команды xfs_growfs;

  • изменить размер файловых систем ext4 с помощью команды resize2fs.

Расширение и уменьшение группы томов

Вы можете увеличить дисковое пространство в группе томов, добавив дополнительные физические тома. Эта процедура называется расширением группы томов. Затем можно назначить логическим томам новые физические экстенты из дополнительных физических томов.

Неиспользуемые физические тома можно удалить из группы томов. Эта процедура называется уменьшением группы томов. Сначала необходимо с помощью команды pvmove переместить данные из экстентов одного физического тома в экстенты других томов группы. Например, если необходимо заменить старый или медленный диск, можно добавить новый диск в существующую группу томов, переместить данные со старого диска на новый, а затем удалить старый диск из группы томов. Это можно сделать, не прерывая использования логических томов в группе.

Важно

В следующих примерах используется устройство vdb и его разделы для демонстрации команд LVM. На практике используйте соответствующие устройства для диска и разделов диска в своей системе.

Расширение группы томов

Процедура расширения группы томов состоит из следующих шагов.

Подготовка физического устройства и создание физического тома

Как и в случае создания новой группы томов, необходимо создать и подготовить новый раздел для использования в качестве физического тома, если это не было сделано ранее.

[root@host ~]# parted -s /dev/vdb mkpart primary 1027MiB 1539MiB
[root@host ~]# parted -s /dev/vdb set 3 lvm on
[root@host ~]# pvcreate /dev/vdb3

Создавать физический том необходимо, только если нет свободных физических томов для расширения группы томов.

Расширение группы томов

Используйте команду vgextend, чтобы добавить новый физический том в группу томов. Используйте имя группы томов и имя устройства физического тома в качестве аргументов в команде vgextend.

[root@host ~]# vgextend vg01 /dev/vdb3

Группа томов vg01 будет расширена на размер физического тома /dev/vdb3.

Проверка доступности нового пространства

Используйте команду vgdisplay, чтобы подтвердить доступность дополнительных физических экстентов. Изучите поле Free PE / Size в выводе. Значение должно быть отличным от нуля.

[root@host ~]# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
...output omitted...
  Free  PE / Size       178 / 712.00 MiB
...output omitted...

Уменьшение группы томов

Процедура уменьшения группы томов состоит из следующих шагов.

Перемещение физических экстентов

Используйте команду pvmove PV_DEVICE_NAME, чтобы переместить физические экстенты с удаляемого физического тома в другие физические тома в группе томов. В других физических томах должно быть достаточно свободных экстентов для перемещаемых данных. Для успешного выполнения этой операции необходимо, чтобы в группе было достаточно свободных экстентов и все они находились в других физических томах.

[root@host ~]# pvmove /dev/vdb3

Команда перемещает физические экстенты из тома /dev/vdb3 в другие физические тома со свободными физическими экстентами в той же группе томов.

Предупреждение

Прежде чем выполнять команду pvmove, создайте резервную копию данных, хранящихся во всех логических томах в группе томов. Неожиданный обрыв питания во время операции может привести к рассогласованию данных в группе томов. А это может привести к потере данных, расположенных в логических томах группы.

Уменьшение группы томов

Используйте команду vgreduce VG_NAME PV_DEVICE_NAME , чтобы удалить физический том из группы томов.

[root@host ~]# vgreduce vg01 /dev/vdb3

Физический том /dev/vdb3 будет удален из группы vg01 и может быть добавлен в другую группу томов. Кроме того, можно использовать команду pvremove, чтобы навсегда прекратить использование устройства как физического тома.

Расширение логического тома и файловой системы XFS

Одно из преимуществ логических томов заключается в возможности увеличивать их размер без прерывания работы. Свободные физические экстенты в группе томов можно добавить в логический том для увеличения его размера, а затем использовать для расширения соответствующей файловой системы.

Расширение логического тома

Процедура расширения логического тома состоит из следующих шагов.

Проверка наличия свободного пространства в группе томов

Используйте команду vgdisplay, чтобы убедиться в наличии достаточного количества свободных физических экстентов.

[root@host ~]# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
...output omitted...
  Free  PE / Size       178 / 712.00 MiB
...output omitted...

Изучите поле Free PE / Size в выводе. Убедитесь, что в группе томов достаточно свободного места для расширения логического тома. Если свободного места недостаточно, расширьте группу томов. См. «Расширение и уменьшение группы томов».

Расширение логического тома

Используйте команду lvextendLV_DEVICE_NAME, чтобы расширить логический том.

[root@host ~]# lvextend -L +300M /dev/vg01/lv01

Размер логического тома lv01 будет увеличен на 300 МиБ. Обратите внимание на символ плюса (+) перед размером. Его наличие означает добавление значения к существующему размеру. Если его нет, значение указывает на окончательный размер логического тома.

Как и в случае с командой lvcreate, для указания размера можно использовать разные методы. Опция -l принимает в качестве аргумента количество физических экстентов. Опция -L принимает размер в байтах, мебибайтах, гибибайтах и т. д.

Далее приведены некоторые примеры расширения логических томов.

Таблица 7.1. Примеры расширения логических томов

КомандаРезультаты
lvextend -l 128

Изменение размера логического тома ровно до 128 экстентов.

lvextend -l +128

Добавление 128 экстентов к текущему размеру логического тома.

lvextend -L 128M

Изменение размера логического тома ровно до 128 МиБ.

lvextend -L +128M

Добавление 128 МиБ к текущему размеру логического тома.

lvextend -l +50%FREE

Добавление 50 % текущего свободного пространства в группе томов в логический том.


Расширение файловой системы

С помощью команды xfs_growfs mountpoint увеличьте размер файловой системы, чтобы она заняла расширенный логический том. При использовании команды xfs_growfs целевая файловая система уже должна быть смонтирована. Вы можете продолжать пользоваться операционной системой, пока выполняется изменение размера.

[root@host ~]# xfs_growfs /mnt/data

Примечание

Распространенная ошибка — выполнить команду lvextend, но не выполнить xfs_growfs. Вместо последовательного выполнения двух описанных выше шагов допускается можно команду lvextend с опцией -r. Размер файловой системы будет изменен после расширения логического тома с помощью fsadm(8). Команда работает с различными файловыми системами.

Проверка нового размера смонтированной файловой системы

[root@host ~]# df -h /mountpoint

Расширение логического тома и файловой системы ext4

Шаги по расширению логического тома на основе ext4 практически не отличаются от шагов для логического тома на основе XFS, за исключением изменения размера файловой системы. Изучите «Расширение логического тома и файловой системы XFS».

Проверка наличия свободного пространства в группе томов

Используйте команду vgdisplay VGNAME, чтобы убедиться в наличии достаточного количества свободных физических экстентов в группе томов.

Расширение логического тома

Используйте команду lvextend -l +extents /dev/vgname/lvname, чтобы расширить логический том /dev/vgname/lvname на указанное число экстентов.

Расширение файловой системы

С помощью команды resize2fs /dev/vgname/lvname увеличьте размер файловой системы, чтобы она заняла новый расширенный логический том. Пока выполняется команда расширения, файловую систему можно смонтировать и использовать. Для отслеживания хода выполнения операции по изменению размера можно добавить опцию -p.

[root@host ~]# resize2fs /dev/vg01/lv01

Примечание

Основное различие между xfs_growfs и resize2fs в том, какой аргумент передается для идентификации файловой системы. xfs_growfs принимает точку монтирования, а resize2fs — имя логического тома.

Расширение логического тома и области подкачки

Логические тома, отформатированные как области подкачки, тоже можно расширить. Но в данном случае процедура отличается от расширения файловой системы, например ext4 или XFS. Логические тома, отформатированные под файловую систему, можно расширять динамически, не прерывая их работы. Логические тома, отформатированные под область подкачки, перед расширением необходимо отключить.

Проверка наличия свободного пространства в группе томов

Используйте команду vgdisplay vgname, чтобы убедиться в наличии достаточного количества свободных физических экстентов.

Деактивация области подкачки

Используйте команду swapoff -v /dev/vgname/lvname, чтобы деактивировать область подкачки на логическом томе.

Предупреждение

В системе должно быть достаточно свободной памяти или места в области подкачки, чтобы можно было добавить страницы из деактивируемой области подкачки на логическом томе.

Расширение логического тома

Используйте команду lvextend -l +extents /dev/vgname/lvname, чтобы расширить логический том /dev/vgname/lvname на указанное число экстентов.

Форматирование логического тома под область подкачки

Используйте команду mkswap /dev/vgname/lvname, чтобы отформатировать весь логический том под область подкачки.

Активация области подкачки

Используйте команду swapon -va /dev/vgname/lvname, чтобы активировать область подкачки на логическом томе.

Ссылки

Man-страницы lvm(8), pvcreate(8), pvmove(8), vgdisplay(8), vgextend(8), vgreduce(8), vgdisplay(8), vgextend(8), vgreduce(8), lvextend(8), fdisk(8), gdisk(8), parted(8), partprobe(8), xfs_growfs(8), resize2fs(8), swapoff(8), swapon(8) и mkswap(8)